package cn.zshprint.serein.controller;

import cn.zshprint.serein.service.UploadService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.util.List;

/**
 * 上传控制器
 *
 * @author zshprint
 * @date 2021/07/28
 */
@Slf4j
@RestController
@RequestMapping("/upload")
public class UploadController {


    /**
     * 上传服务
     */
    @Resource
    private UploadService uploadService;


    /**
     * 获取url
     * 此方法将文件上传至阿里云的OSS存储仓库
     *
     * @param multipartFile 上传文件 key -> file
     * @return 返回已经上传的url
     */
    @PostMapping("/uploadFile")
    public String getUrl(@RequestParam("file") MultipartFile multipartFile) {
        return uploadService.getUrl(multipartFile);
    }

    /**
     * 得到的url
     * 此方法将多文件上传至阿里云的OSS存储仓库
     *
     * @param files 文件数组
     * @return 所有的url集合
     */
    @PostMapping("/uploadFiles")
    public List<String> getUrls(@RequestParam("files") MultipartFile[] files) {
        return uploadService.getUrls(files);
    }

}